home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Camelot / Camelot 078 (1990-06)(Swedish User Group of Amiga)(SE)(PD)[WB].zip / Camelot 078 (1990-06)(Swedish User Group of Amiga)(SE)(PD)[WB].adf / fassem / README < prev    next >
Text File  |  1990-05-22  |  9KB  |  189 lines

  1.  
  2.    These notes briefly describe some of FASSEM features and the limitations
  3. of the demo version.  Because this is a demonstration version, it may be
  4. freely redistributed to anyone provided that the program and this file
  5. are NOT modified and that this file is distributed with the DEMO version.
  6.    The program FASSEM and its demo version are both copyrighted.
  7.  
  8.  
  9.    This is a DEMO version of the fast 68000 assembler.  Because it is a
  10. demo, the following functions have been deleted from the code:
  11.  
  12.    XREF     - no external references are allowed.
  13.    MREF     - no external merged references are allowed.
  14.    XDEF     - no definitions of symbols are allowed.
  15.    SECTION  - no section declarations can be made.
  16.    INCLUDE  - no files may be included (including by the -h command option).
  17.  
  18.    All other features are enabled in the demo version.
  19.  
  20.    The fast 68000 assembler has the following features:
  21.  
  22.       -  Normal source assembles at 200 to 300 lines per second on an A1000.
  23.  
  24.       -  Full macro capabilities.
  25.  
  26.       -  Local symbols.
  27.  
  28.       -  Conditional assembly.
  29.  
  30.       -  Complete cross reference showing usage as well as symbol locations.
  31.  
  32.       -  In-line macros.
  33.  
  34.       -  Dynamic allocation of memory.
  35.  
  36.       -  One-pass assembly.  The source may be piped into FASSEM.
  37.  
  38.       -  Use of external register offsets into MERGED data of BLINK.
  39.  
  40.       -  Support of standard directives and instruction formats.
  41.  
  42.       -  Generation of FAST and CHIP sections.
  43.  
  44.       -  Expressions are evaluated with precedence.
  45.  
  46.       -  Optimization of some address modes.
  47.  
  48.    FASSEM is run from the CLI and has the following command line syntax:
  49.  
  50.       FASSEM   <source file>  [<options>]*
  51.  
  52.    The source file must contain the full name, including the suffix.  The
  53. output may be redirected by specifying the redirection after FASSEM.
  54.  
  55.    The options may be zero or more of the following:
  56.  
  57.       -c<control opts>  - Enable one or more of the control options.  The
  58.                            control options follow the -c without any
  59.                            spaces.  The following control options are
  60.                            allowed:
  61.  
  62.                         c     - Turn case compress on.  All symbols are
  63.                                  converted to upper case.
  64.                         d     - Exclude all symbols starting with a period
  65.                                  (.) from the symbol table in the object
  66.                                  file.  The control option s MUST be
  67.                                  specified before any symbols are placed in
  68.                                  the file.
  69.                         m<n>  - Set the maximum # bytes in workspace that
  70.                                  FASSEM is allowed to use.  Default is
  71.                                  150000 bytes.  Memory is dynamically
  72.                                  allocated as required.  The limit can be
  73.                                  raised or lowered.
  74.                         s     - Output symbols to the object file.
  75.                         t     - Suppress the listing of macro expansions.
  76.                         u     - Generate a cross reference.  However, if
  77.                                  a symbol is used only when the listing
  78.                                  is disabled by NOLIST, do not show.
  79.                         x     - Generate a cross reference.
  80.  
  81.       -d<symbol>        - Define the symbol given with a value of 0.  The
  82.                            symbol is NEVER case compressed.
  83.       -h<file>          - DISABLED IN DEMO.  Include the file before
  84.                            assembling the source file.
  85.       -i<dirs>          - Specify search directories for includes.  The
  86.                            directories are separated by commas or pluses.
  87.                            The whole option can be enclosed in double quotes.
  88.       -l[<file>]        - Enable listing.  If no file is given, the listing
  89.                            appears on the console.
  90.       -o<file>          - Create the object file given.  No suffix is
  91.                            assumed.
  92.  
  93.    Examples of the execution of FASSEM:
  94.  
  95.       fassem  xyzzy.a -oxyzzy.o
  96.       fassem  xyzzy.a -csx -dmysymbol -oxyzzy.o -lxyzzy.l
  97.  
  98.    The following directives are supported by FASSEM:
  99.  
  100. label CNOP  mod,base       - Align code to boundary.  CNOP  1,4 will
  101.                               align to 1 byte past longword boundary.
  102. label DC.x  <value list>   - Define values within the current section.
  103.                               Each value is separated by commas.
  104. label DCB.x <count>,<value>- Define a block of <count> values where
  105.                               each value is defined by <value>.
  106. label DS.x  <count>        - Allocate storage for <count> values where
  107.                               each value has the given size.
  108. label END                  - End assembly.
  109.       ENDC                 - End conditional assembly.
  110.       ENDM                 - End macro definition.
  111. label EQU   <expr>         - Equate label to expression.
  112. label EQUR  <reg>          - Equate label to register.
  113.       FAIL  <any>          - Create a non-fatal error.
  114.       IDNT  <name>         - Name the program unit.  The name may be
  115.                               enclosed in double quotes.
  116.       IFC   <lit1>,<lit2>  - Assemble if literals are the same.
  117.       IFD   <symbol>       - Assemble if symbol defined.
  118.       IFEQ  <expr>         - Assemble if expr 0.
  119.       IFGE  <expr>         - Assemble if expr >= 0.
  120.       IFGT  <expr>         - Assemble if expr > 0.
  121.       IFLE  <expr>         - Assemble if expr <= 0.
  122.       IFLT  <expr>         - Assemble if expr < 0.
  123.       IFNC  <lit1>,<lit2>  - Assemble if literals are different.
  124.       IFND  <symbol>       - Assemble if symbol undefined.
  125.       IFNE  <expr>         - Assemble if expr not 0.
  126.       INCLUDE <file>       - Include file.  DISABLE IN DEMO.
  127. label IS    <string>       - Equate symbol to string.  This allows the
  128.                               replacement of a symbol with any set of
  129.                               symbols.
  130.       LIST                 - Enable listing after NOLIST.
  131.       LLEN  <expr>         - Set the listing line length.
  132. label MACRO                - Define a macro
  133.       MEXIT                - Exit from macro expansion.
  134.       MREF  <symbol list>  - Import merged symbols.  DISABLED IN DEMO.
  135.                               This is used when accessing base address
  136.                               relative offsets.
  137.       NOL                  - Disable listing.
  138.       NOLIST               - Same as NOL.
  139.       NOPAGE               - Disable paging.
  140.       OFFSET <expr>        - Start an offset section.
  141.       PAGE                 - Page the listing.
  142.       PLEN  <expr>         - Set the listing page length.
  143. label REG   <reg list>     - Equate a symbol to a register list.
  144. label RORG  <expr>         - Change the relative origin of the current
  145.                               section to expr.
  146. label SECTION <name>,<type>,<mem> - Name a section.  DISABLED IN DEMO.
  147.                               The section may be given a type (CODE, DATA,
  148.                               or BSS) and a memory type (FAST or CHIP).
  149. label SET   <expr>         - Set the value of a symbol.  If the symbol
  150.                               was already defined by SET, change the value
  151.                               to the new one.
  152.       SPC   <expr>         - Space blank lines on the listing.
  153.       TTL   <title>        - Set new title on the listing.
  154.       UNDEF <sym list>     - Undefine one or more symbols.  This includes
  155.                               opcodes, directives, register name, and macros.
  156.       XDEF  <sym list>     - Export symbols from module.  DISABLE IN DEMO.
  157.       XREF  <sym list>     - Import symbols to module.  DISABLED IN DEMO.
  158.  
  159.  
  160.    label is a symbol starting in column 1 or a symbol followed by a colon.
  161. It is optional in most cases.
  162.    .x is the size operand and is optional.
  163.  
  164.    Comments are defined by any text following an unquoted semicolon, text
  165. following any spaces after the operand field (or opcode if no operands),
  166. or an asterisk in column 1.
  167.  
  168.    Symbols may be any length up to 120 characters.
  169.    Literals may have up to 120 characters.
  170.    Local symbols are defined as decimal digits followed by a $.
  171.  
  172.    The printed manual contains a more detailed description of the command
  173. line syntax and directives.  Additional information on subjects such as
  174. the cross reference, listing, errors, expressions, and symbols is given.
  175.  
  176.    I am working on a new version for the 68020 with 68881 support.  With
  177. support, this will happen.
  178.  
  179.   To order the supported version with includes and 79 page manual, send
  180. (check or money order) $69.95 (US) plus $3.00 shipping and handling to:
  181.  
  182.        Edward Lappin
  183.        Silver Platter Software
  184.        2900 Sagebrush Drive
  185.        Fort Collins, CO  80525
  186.        (303) 223-9086
  187.  
  188.  
  189.